package info.wangyuan.agent.entity.po;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.io.Serial;
import java.io.Serializable;

/**
 * 文档单元
 *
 * @author Albert
 * @since 2025-08-25 20:10:24
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName(value = "tb_document_unit", autoResultMap = true)
public class DocumentUnit extends BaseEntity implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 源文件ID
     */
    private Integer fileId;

    /**
     * 页码
     */
    private Integer pageIndex;

    /**
     * 预料内容
     */
    private String content;

    /**
     * 是否完成切分
     */
    private Boolean isChunked;

    /**
     * 是否完成向量化
     */
    private Boolean isVectored;

    /**
     * 相似度分数（非持久化字段，用于RAG搜索结果）
     */
    @TableField(exist = false)
    private Double similarityScore;
}
